{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. Introduction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "from prml.features import PolynomialFeatures\n",
    "from prml.linear import (\n",
    "    LinearRegressor,\n",
    "    RidgeRegressor,\n",
    "    BayesianRegressor\n",
    ")\n",
    "\n",
    "np.random.seed(1234)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1. Example: Polynomial Curve Fitting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bf9d400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def create_toy_data(func, sample_size, std):\n",
    "    x = np.linspace(0, 1, sample_size)\n",
    "    t = func(x) + np.random.normal(scale=std, size=x.shape)\n",
    "    return x, t\n",
    "\n",
    "def func(x):\n",
    "    return np.sin(2 * np.pi * x)\n",
    "\n",
    "x_train, y_train = create_toy_data(func, 10, 0.25)\n",
    "x_test = np.linspace(0, 1, 100)\n",
    "y_test = func(x_test)\n",
    "\n",
    "plt.scatter(x_train, y_train, facecolor=\"none\", edgecolor=\"b\", s=50, label=\"training data\")\n",
    "plt.plot(x_test, y_test, c=\"g\", label=\"$\\sin(2\\pi x)$\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x113ecc710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i, degree in enumerate([0, 1, 3, 9]):\n",
    "    plt.subplot(2, 2, i + 1)\n",
    "    feature = PolynomialFeatures(degree)\n",
    "    X_train = feature.transform(x_train)\n",
    "    X_test = feature.transform(x_test)\n",
    "\n",
    "    model = LinearRegressor()\n",
    "    model.fit(X_train, y_train)\n",
    "    y = model.predict(X_test)\n",
    "\n",
    "    plt.scatter(x_train, y_train, facecolor=\"none\", edgecolor=\"b\", s=50, label=\"training data\")\n",
    "    plt.plot(x_test, y_test, c=\"g\", label=\"$\\sin(2\\pi x)$\")\n",
    "    plt.plot(x_test, y, c=\"r\", label=\"fitting\")\n",
    "    plt.ylim(-1.5, 1.5)\n",
    "    plt.annotate(\"M={}\".format(degree), xy=(-0.15, 1))\n",
    "plt.legend(bbox_to_anchor=(1.05, 0.64), loc=2, borderaxespad=0.)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nuQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x113b7cc18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def rmse(a, b):\n",
    "    return np.sqrt(np.mean(np.square(a - b)))\n",
    "\n",
    "training_errors = []\n",
    "test_errors = []\n",
    "\n",
    "for i in range(10):\n",
    "    feature = PolynomialFeatures(i)\n",
    "    X_train = feature.transform(x_train)\n",
    "    X_test = feature.transform(x_test)\n",
    "\n",
    "    model = LinearRegressor()\n",
    "    model.fit(X_train, y_train)\n",
    "    y = model.predict(X_test)\n",
    "    training_errors.append(rmse(model.predict(X_train), y_train))\n",
    "    test_errors.append(rmse(model.predict(X_test), y_test + np.random.normal(scale=0.25, size=len(y_test))))\n",
    "\n",
    "plt.plot(training_errors, 'o-', mfc=\"none\", mec=\"b\", ms=10, c=\"b\", label=\"Training\")\n",
    "plt.plot(test_errors, 'o-', mfc=\"none\", mec=\"r\", ms=10, c=\"r\", label=\"Test\")\n",
    "plt.legend()\n",
    "plt.xlabel(\"degree\")\n",
    "plt.ylabel(\"RMSE\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Regularization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bf9d160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "feature = PolynomialFeatures(9)\n",
    "X_train = feature.transform(x_train)\n",
    "X_test = feature.transform(x_test)\n",
    "\n",
    "model = RidgeRegressor(alpha=1e-3)\n",
    "model.fit(X_train, y_train)\n",
    "y = model.predict(X_test)\n",
    "\n",
    "y = model.predict(X_test)\n",
    "plt.scatter(x_train, y_train, facecolor=\"none\", edgecolor=\"b\", s=50, label=\"training data\")\n",
    "plt.plot(x_test, y_test, c=\"g\", label=\"$\\sin(2\\pi x)$\")\n",
    "plt.plot(x_test, y, c=\"r\", label=\"fitting\")\n",
    "plt.ylim(-1.5, 1.5)\n",
    "plt.legend()\n",
    "plt.annotate(\"M=9\", xy=(-0.15, 1))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.2.6 Bayesian curve fitting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nUP8Pcwq2ncLql6QAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1143019e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model = BayesianRegressor(alpha=2e-3, beta=2)\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "y, y_err = model.predict(X_test, return_std=True)\n",
    "plt.scatter(x_train, y_train, facecolor=\"none\", edgecolor=\"b\", s=50, label=\"training data\")\n",
    "plt.plot(x_test, y_test, c=\"g\", label=\"$\\sin(2\\pi x)$\")\n",
    "plt.plot(x_test, y, c=\"r\", label=\"mean\")\n",
    "plt.fill_between(x_test, y - y_err, y + y_err, color=\"pink\", label=\"std.\", alpha=0.5)\n",
    "plt.xlim(-0.1, 1.1)\n",
    "plt.ylim(-1.5, 1.5)\n",
    "plt.annotate(\"M=9\", xy=(0.8, 1))\n",
    "plt.legend(bbox_to_anchor=(1.05, 1.), loc=2, borderaxespad=0.)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
